
package GUI;

import java.awt.FlowLayout;
import java.util.Iterator;
import java.util.Vector;
import javax.swing.JLabel;
import javax.swing.JPanel;

/**
* Classe ChatPanel participe à la gestion des onglets de la GUI
* @author      Frank Djomo
 * @author      Christelle SIAGO HAPPI
 * @author      djomopoueme@gmail.com
 * @author      christelle.siagohappi@gmail.com
* @version     1.0
*/
public class ChatPanel{
    @SuppressWarnings("UseOfObsoleteCollectionType")
    private  Vector listPanels;

    /**
    * Constructeur 
    */
    public ChatPanel() {
        listPanels = new Vector(50);
    }
    /**
    * Insere un onglet correspondant à un utilisateur distant connecté
    * @param remoteLogin  Login de l'utilisateur distant
    */
    public void insertOnlinePanel(String remoteLogin){
        JLabel nameLabel = new JLabel(remoteLogin, JLabel.LEFT);
        nameLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Ressources/images/online.png"))); // NOI18N
        this.insertPanel(nameLabel);
    }
    /**
    * Insere un onglet correspondant à un utilisateur distant absent
    * @param remoteLogin  Login de l'utilisateur distant
    */
    public void insertAwayPanel(String remoteLogin){
        JLabel nameLabel = new JLabel(remoteLogin, JLabel.LEFT);
        nameLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Ressources/images/away.png"))); // NOI18N
        this.insertPanel(nameLabel);
    }
    private void insertPanel(JLabel nameLabel){
        JPanel namePanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
        namePanel.add(nameLabel);
        listPanels.add(namePanel);
    }
    /**
    * Supprime l'onglet correspondant à un utilisateur distant
    * @param remoteLogin  Login de l'utilisateur distant
    */
    public void deletePanel(String remoteLogin){
        Iterator<JPanel> it = listPanels.iterator();
        boolean bFound=false;
        while(it.hasNext() && !bFound){
            JPanel jp = (JPanel) it.next();
            JLabel jl =  (JLabel) jp.getComponent(0);
            if(jl.getText().equals(remoteLogin)){
                     System.out.println("remove user "+listPanels.remove(jp));
                     bFound=true;
            }
        }
    }
    /**
    * Supprimer tous les onglets  Renvoie le message envoyé.
    */
    public void clear(){
        listPanels.clear();
    }
    /**
    * @return  List d'onglet
    */
    public Vector getListPanels() {
        return listPanels;
    }
}
